// pages/withdrawal/withdrawal.ts
const api = require('../../utils/api');
Page({

    /**
     * 页面的初始数据
     */
    data: {
        propertyAmount: 0,
        list:[],
        bankCardCode:'',
        rateNum:0,
        amountMoney: '',//提现金额
        amountMoneyNew: 0
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad() {
        this.setData({
            propertyAmount:Number(wx.getStorageSync('userInfo').propertyAmount) || 0
        })
        this.getWithdrawalRateFn()
    },
    onInputChange(event) {
        const inputValue = event.detail.value.trim(); // 获取输入框的值并去除空格
        // 输入验证：确保输入的是有效数字
        if (!/^\d+(\.\d+)?$/.test(inputValue)) {
            console.warn('无效输入:', inputValue);
            this.setData({ amountMoney: '' }); // 清空金额
            return;
        }
        const total = 100; // 固定值
        const rateNum = Number(this.data.rateNum); // 税率
        const num = Number(inputValue) * (total - rateNum); // 计算中间值
        // 更新金额，避免负数或 NaN 的情况
        let amountMoneyNew = isNaN(num) || num < 0 ? 0 : num / 100;
        // 向上取整并保留两位小数
        amountMoneyNew = Math.ceil(amountMoneyNew * 100) / 100;
        this.setData({
            amountMoneyNew: amountMoneyNew.toFixed(2), // 保留两位小数
            amountMoney: inputValue
        });
    },
    getWithdrawalRateFn(){
        api.dictType('withdrawal_rate').then(res=>{
            if(res.code == 200){
              this.setData({
                rateNum:res.data[0]?.dictLabel,
             })
            }
          })
    },
    getList(){
        api.bankCardList().then(res=>{
            if(res.code == 200){
                if(res.data.records.length==0){
                    //没有绑卡 则跳去绑卡去
                    wx.showToast({
                        title: `请先绑定银行卡`,
                        icon: 'none',
                        duration: 2000,
                      });
                      setTimeout(()=>{
                            wx.navigateTo({
                                url:'/pages/addbankcard/addbankcard'
                            })
                      },2000)
                }else{
                    this.setData({
                        list : res.data.records,
                        bankCardCode : res.data.records[0].bankCardCode.slice(-4),
                      })
                }
            }
        })
      },
    withdrawalFn() {
        if(this.data.propertyAmount== 0){
            wx.showToast({
                title: '无资产',
                icon: 'error',
                duration: 2000
            });
            return false
        }else if(this.data.amountMoney > this.data.propertyAmount){
            wx.showToast({
                title: '金额不足',
                icon: 'error',
                duration: 2000
            });
            return false
        }else if(this.data.amountMoney == 0){
            wx.showToast({
                title: '金额不能等于0',
                icon: 'error',
                duration: 2000
            });
            return false
        }
        let _params = {
            amountMoney: this.data.amountMoney,
            // actualAmount:this.data.amountMoneyNew,//扣除费率后
            // commission:this.data.rateNum
        }
        api.withdrawal(_params).then(res => {
            
            if (res.code == 200) {
                wx.showToast({
                    title: '提现信息已提交',
                    icon: 'success',
                    duration: 2000
                });
                this.setData({
                    amountMoney:''
                 })
                this.getUserInfo()
            }else{
                wx.showModal({
                    title: '提示',
                    content: res.msg,
                    showCancel: false, // 不显示取消按钮
                    confirmText: '知道了',
                    confirmColor: '#91CFDC',
                });
            }
        })
    },
      getUserInfo(){
        api.getInfo().then(res=>{
            if(res.code == 200){//更新总资产避免一直提现
                let data = res.data.user
                wx.setStorageSync('userInfo', data)
                this.setData({
                    propertyAmount:Number(wx.getStorageSync('userInfo').propertyAmount) || 0
                })
            }
        })
      },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
        this.getList()
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})